package com.bosssoft.goods.dao;

import com.bosssoft.goods.domain.bean.SpecProp;
import com.bosssoft.goods.domain.vo.AddSpecVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 分类商品规格参数管理数据操作层
 * @author Fang_Sir
 * @date 2021-04-17
 */
@Repository
public interface SpecAttrDao {

    /**
     * 获取商品分类规格属性
     * @param catId 第三级分类编号
     * @return {@link SpecProp}列表
     */
    List<SpecProp> getSpecByCatId(@Param("catId") int catId);

    /**
     * 添加分类商品规格属性
     * @param spec 规格属性信息
     * @return 更改数据数量
     */
    int addSpec(AddSpecVO spec);

    /**
     * 通过名称获取商品规格参数
     * @param catId 第三级分类编号
     * @param name 规格参数名称
     * @return {@link SpecProp}
     */
    SpecProp getSpecInfoByName(@Param("catId")int catId, @Param("name")String name);

    /**
     * 更改商品规格参数名称
     * @param propId 规格参数编号
     * @param catId 第三级分类编号
     * @param name 规格参数名称
     * @return {@link SpecProp}
     */
    int updateSpecName(@Param("propId")int propId,@Param("catId")int catId,@Param("name")String name);

    /**
     * 删除商品规格参数
     * @param propId 规格参数编号
     */
    int delSpec(@Param("propId")int propId);
}
